System Software
5.1 Operating Systems
Candidates should be able to:
- Explain why a computer system requires an Operating System (OS)
- Explain the key management tasks carried out by the Operating System
Notes and guidance
Including memory management, file management, security management, hardware management (input / output / peripherals), process management
- Show understanding of the need for typical utility software provided with an Operating System
Notes and guidance
Including disk formatter, virus checker, defragmentation software, disk contents analysis/ disk repair software, file compression, back-up software
- Show understanding of program libraries
Notes and guidance
Including:
- software under development is often constructed using existing code from program libraries
- the benefits to the developer of software constructed using library files, including Dynamic Link Library (DLL) files
5.2 Language Translators
Candidates should be able to:
- Show understanding of the need for:
- assembler software for the translation of an assembly language program
- a compiler for the translation of a high-level language program
- an interpreter for translation and execution of a high-level language program
- Explain the benefits and drawbacks of using either a compiler or interpreter and justify the use of each
- Show awareness that high-level language programs may be partially compiled and partially interpreted, such as Java (console mode)
- Describe features found in a typical Integrated Development Environment (IDE)
Notes and guidance
Including:
- for coding, including context-sensitive prompts
- for initial error detection, including dynamic syntax checks
- for presentation, including prettyprint, expand and collapse code blocks
- for debugging, including single stepping, breakpoints, i.e. variables, expressions, report window